accountInfo=[{"名字":"zhangsan","账号":"0001","密码":"0000","存款":10000},
             {"名字":"lisi","账号":"0002","密码":"0000","存款":1000},
             {"名字":"wanmgwu","账号":"0003","密码":"0000","存款":100},];


def main():
        '''
        这是登录的主界面
        '''
        while 1:
                print("="*13,"CSDN银行ATM操作系统","="*13)
                print("{0:3}{1:12}{2:3}{3:12}".format("1.","登录","0.","退出"))
                print("="*40)
                num=input("请输入对应的选择：")
                if num=="1":
                        user=input("请输入用户名: ");
                        #判断账户是否在信息里
                        for userNum in range(0,len(accountInfo)):
                                #先判断是不是有用户存在
                                if (user==accountInfo[userNum]["账号"]):
                                        psw=input("请输入密码:")
                                        if(psw==accountInfo[userNum]["密码"]):
                                                print("登录成功")
                                                personPage(userNum);#页面跳转，传入用户的序号
                                                break;
                                        else:
                                                input("密码错误,按任意键继续");
                                                break;
                                #当循环到此说明前面没有对于的账号，提示没有用户
                                if (userNum==len(accountInfo)-1):
                                        input("没有此用户，按任意键继续")
                        
                elif num =="0":
                        print("感谢您的使用");
                        break;
                else:
                        input("无效的选择,请按任意键继续")

def personPage(userNum):
        '''
        这是用户功能操作的界面
        '''
        while 1:
                print("="*13,"功能选择","="*13)
                print("{0:3}{1:12}{2:3}{3:12}".format("1.","查询个人信息","2.","查询余额"))
                print("{0:3}{1:8}{2:3}{3:7}{4:3}{5:7}".format("3.","存款","4.","取款","0.","返回"))
                print("="*40)
                #为了之后的书写方便，先记录一个简短的变量
                data=accountInfo[userNum];
                num=input("请输入对应的选择：")
                if num=="1":
                        print("姓名：{:4}    账户：{:4}".format(data["名字"],data["账号"]))
                        input("请按任意键继续 ")
                elif num=="2":
                        print("您的账户余额为:",data["存款"],'元')
                        input("请按任意键继续 ")
                elif num=="3":
                        while 1:
                               money=input("请输出要存的额度：");
                               #先判断是不是一个数字
                               if(money.isdigit()):
                                       #输入的都是字符串，需要强制类型转换
                                       data["存款"]=float(money)+data["存款"];
                                       print("存款成功！您现在的余额为：",data["存款"],"元")
                                       input("请按任意键继续")
                                       break;
                               else:
                                       input("输入错误！请输入正确数字")        
                 
                elif num=="4":
                        while 1:
                                money=input("请输出要取的额度：");
                                if float(money)>data["存款"]:
                                        print("没那么多钱")
                                else:
                                        data["存款"]=data["存款"]-float(money);
                                        print("取款成功！您现在的余额为",data["存款"],"元")
                                        input("请按任意键继续 ")
                                        break
                elif num=="0":
                		#结束本函数，返回上一级
                        return;
                else:
                        input("无效的选择,请按任意键继续")
                        
                     
#调用主函数，登录成功就进入personPage（）函数
main()


